// 重构every方法
// Array.prototype.myEvery=function(fun){
//     for(var i=0;i<this.length;i++){
//         if(!fun(this[i])){
//             return false
//         }
//     }
//     return true
// }
// var arr=[1,2,3,4,5];
// var result=arr.myEvery(function(item){
//     return item>1;
// });
// console.log(result);

// 重构mysome
// Array.prototype.mySome=(function(fun){
//     for(var i=0;i<this.length;i++){
//         if(fun(this[i])){
//             return true
//         }
//     }
//     return false
// });
// var arr=[1,2,3,4,5];
// var result=arr.mySome(function(item){
//     return item>2
// });
// console.log(result);

//重构filter方法
// Array.prototype.myFilter=function(fun){
//     let newArr=[]
//     for(var i=0;i<this.length;i++){
//         if(fun(this[i])){
//             newArr.push(this[i])
//         }
//     }
//     return newArr
// }
// var arr=[1,2,3,4,5];
// var result=arr.myFilter(function(item){
//     return item>2
// });
// console.log(result);

// 重构map方法
// Array.prototype.myMap=function(fun){
//     let newArr=[]
//     for(i=0;i<this.length;i++){
//         newArr.push(fun(this[i]))
//     }
//     return newArr
// };
// var arr=[1,2,3,4,5];
// var result=arr.myMap(function(item){
//     return item*2
// });
// console.log(result);

// foreach
Array.prototype.myForEach=function(fun){
    for(i=0;i<this.length;i++){
        fun(this[i],i,this)
    }
}
var arr=[1,2,3,4,5];
var result=arr.myForEach(function(item,index,arr){
    console.log(item,index,arr);
})
console.log(result);